#include "myslider.h"


lv_obj_t *slider_label;

// 更新label上的百分比显示
static void slider_event_cb(lv_event_t *e)
{
    lv_obj_t *target = lv_event_get_target(e);                                      /* 获取触发源 */
    lv_event_code_t code = lv_event_get_code(e);                                    /* 获取事件类型 */

    if(code == LV_EVENT_VALUE_CHANGED)
    {
        lv_label_set_text_fmt(slider_label, "%d%%", lv_slider_get_value(target));   /* 获取当前值，更新进度条百分比 */
    }
}

static void lv_example_slider(void)
{
    /* 滑块 */
    lv_obj_t * slider = lv_slider_create(lv_scr_act());                             /* 创建滑块 */
    lv_obj_set_size(slider, 400, 20);                               /* 设置大小 */
    lv_obj_center(slider);                                                          /* 设置位置 */
    lv_slider_set_value(slider, 50, LV_ANIM_OFF);                                   /* 设置当前值 */
    lv_obj_add_event_cb(slider, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);     /* 添加事件 */

    /* 百分比标签 */
    slider_label = lv_label_create(lv_scr_act());                                   /* 创建百分比标签 */
    lv_label_set_text(slider_label, "50%%");                                         /* 设置文本内容 */
    lv_obj_set_style_text_font(slider_label, &lv_font_montserrat_20, LV_STATE_DEFAULT);               /* 设置字体 */
    lv_obj_align_to(slider_label, slider, LV_ALIGN_OUT_RIGHT_MID, 20, 0);           /* 设置位置 */

    /* 音量图标 */
    lv_obj_t *sound_label = lv_label_create(lv_scr_act());                          /* 创建音量标签 */
    lv_label_set_text(sound_label, LV_SYMBOL_VOLUME_MAX);                           /* 设置文本内容：音量图标 */
    lv_obj_set_style_text_font(sound_label, &lv_font_montserrat_20, LV_STATE_DEFAULT);                /* 设置字体 */
    lv_obj_align_to(sound_label, slider, LV_ALIGN_OUT_LEFT_MID, -20, 0);            /* 设置位置 */
}

static void slider_1(void)
{
    lv_example_slider();
}

void myslider_example(void)
{
    slider_1();
}